from django.db import models
from django.contrib.auth.models import User


class InvCode(models.Model):
    """~
    秘钥 激活码表
    """
    code = models.CharField(max_length=10, null=False)  # 密钥 激活码
    valid = models.IntegerField(default=1, null=False)  # 此码是否有效
    capacity = models.IntegerField(default=1, null=False)  # 容量 /天
    createdate = models.DateTimeField(null=True, auto_now_add=True)  # 自动生成  激活码的生成时间
    tips = models.CharField(max_length=32, default="None", null=False)  # 备注


class Email_Code(models.Model):
    """~
    存储邮箱和验证码
    """
    email = models.CharField(max_length=100)  # 邮箱
    code = models.CharField(max_length=6)  # 验证码
    createdate = models.DateTimeField(null=True, auto_now_add=True)  # 自动生成


class Detail_info(models.Model):
    """~
    用户报安详细信息
    """
    name = models.CharField(max_length=15, null=False)  # 用户姓名
    province = models.CharField(max_length=50, null=False)  # 所在省
    city = models.CharField(max_length=50, null=False)  # 所在市
    area = models.CharField(max_length=50, null=False)  # 所在区
    phone = models.CharField(max_length=15, null=False)  # 手机号
    urname = models.CharField(max_length=20, null=True)  # 紧急联系人姓名
    urphone = models.CharField(max_length=15, null=True)  # 紧急联系人手机号
    userId = models.ForeignKey(User, null=True, blank=True, on_delete=models.SET_NULL)  # 外键
    days = models.IntegerField(null=False, default=0)  # 剩余天数
    exectime = models.CharField(max_length=30, null=False)  # 执行时间
    account = models.IntegerField(null=True)  # 账号
    password = models.CharField(max_length=32, null=True)  # 密码
    username = models.CharField(max_length=20, null=True)  # 用户昵称
    email = models.CharField(max_length=100, null=True)  # 已经绑定过的邮箱
    start = models.IntegerField(null=True, default=0)  # 账号是否开启服务


class OrderList(models.Model):
    """~
    用户充值记录
    """
    username = models.CharField(max_length=20, null=True)  # 用户昵称
    code = models.CharField(max_length=10, null=False)  # 密钥 激活码
    capacity = models.IntegerField(default=1, null=False)  # 容量 /天
    createdate = models.DateTimeField(null=True, auto_now_add=True)  # 自动生成 充值时间
